#define _CRT_SECURE_NO_WARNINGS  1
#include "SearchBinaryTree.h"

//int main()
//{
//	int a[] = { 8,3,1,10,1,6,4,7,14,13 };
//	Key::BSTree<int> t;
//	for (auto& e : a)
//	{
//		t.InSert(e);
//	}
//	t.InOrder();
//	for (auto& e : a)
//	{
//		t.Erase(e);
//		t.InOrder();
//	}
//	return 0;
//}

//int main()
//{
//	_Key_Value::BSTree<string, string> dict;
//	dict.InSert("left", "左边");
//	dict.InSert("right", "右边");
//	dict.InSert("insert", "插入");
//	dict.InSert("string", "字符串");
//
//	string str;
//	while (cin >> str)
//	{
//		auto ret = dict.Find(str);
//		if (ret) {
//			cout << ret->_key << "->" << ret->_value << endl;
//		}
//		else {
//			cout << "无此单词，请重新输入" << endl;
//		}
//	}
//	return 0;
//}

int main()
{
	string arr[] = { "苹果", "西瓜", "苹果", "西瓜", "苹果", "苹果", "西瓜", "苹果", "香蕉", "苹果", "香蕉" };
	_Key_Value::BSTree<string, int> countTree;
	for (const auto& str : arr)
	{
		auto ret = countTree.Find(str);
		if (ret == nullptr) {
			countTree.InSert(str, 1);
		}
		else {
			ret->_value++;
		}
	}
	countTree.InOrder();

	return 0;
}